Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[WebGPU EP] Add GEMM implementation #24023

Merged
merged 10 commits into from
Mar 26, 2025

Conversation

xiaofeihan1
Copy link
Contributor

@xiaofeihan1 xiaofeihan1 commented Mar 13, 2025

Increases operator GEMM for WebGPU ep.

@xiaofeihan1 xiaofeihan1 changed the title [webgpu] Add GEMM implementation [WIP][webgpu] Add GEMM implementation Mar 13, 2025
@xiaofeihan1 xiaofeihan1 marked this pull request as draft March 13, 2025 07:57
@xiaofeihan1 xiaofeihan1 force-pushed the user/xiaofeihan/implement_gemm branch from a3753cc to a2a7d5f Compare March 14, 2025 06:32
@xiaofeihan1 xiaofeihan1 changed the title [WIP][webgpu] Add GEMM implementation [WIP][WebGPU EP] Add GEMM implementation Mar 14, 2025
Copy link
Contributor

@qjia7 qjia7 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I just checked the js version. It seems that we can remove the naive one and only support the work group memory one.
@fs-eire How's your opinion on this?

@xiaofeihan1 xiaofeihan1 marked this pull request as ready for review March 17, 2025 09:56
@xiaofeihan1 xiaofeihan1 force-pushed the user/xiaofeihan/implement_gemm branch from 99b07eb to 4f31592 Compare March 18, 2025 09:10
@xiaofeihan1 xiaofeihan1 changed the title [WIP][WebGPU EP] Add GEMM implementation [WebGPU EP] Add GEMM implementation Mar 18, 2025
@xiaofeihan1
Copy link
Contributor Author

I just checked the js version. It seems that we can remove the naive one and only support the work group memory one. @fs-eire How's your opinion on this?

Thanks for the tips. I have changed code to use the workgroup memory way to implement it.

@fs-eire
Copy link
Contributor

fs-eire commented Mar 18, 2025

Yes, currently the naive version is no longer used in JSEP.

@xiaofeihan1 xiaofeihan1 reopened this Mar 19, 2025
@xiaofeihan1 xiaofeihan1 requested a review from qjia7 March 19, 2025 08:14
@xiaofeihan1 xiaofeihan1 requested a review from qjia7 March 20, 2025 13:20
@xiaofeihan1 xiaofeihan1 requested a review from qjia7 March 21, 2025 08:52
qjia7
qjia7 previously approved these changes Mar 21, 2025
Copy link
Contributor

@qjia7 qjia7 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, thanks.

@qjia7 qjia7 requested a review from fs-eire March 21, 2025 08:57
@qjia7 qjia7 requested a review from guschmue March 21, 2025 08:58
fs-eire
fs-eire previously approved these changes Mar 25, 2025
@fs-eire fs-eire dismissed stale reviews from qjia7 and themself via 337f0c2 March 25, 2025 22:22
@fs-eire
Copy link
Contributor

fs-eire commented Mar 25, 2025

/azp run Windows ARM64 QNN CI Pipeline,Windows x64 QNN CI Pipeline,Windows CPU CI Pipeline,Windows GPU CUDA CI Pipeline,Windows GPU DML CI Pipeline,Windows GPU Doc Gen CI Pipeline,Windows GPU TensorRT CI Pipeline,Windows OpenVINO CI Pipeline,ONNX Runtime Web CI Pipeline,Win_TRT_Minimal_CUDA_Test_CI

@fs-eire
Copy link
Contributor

fs-eire commented Mar 25, 2025

/azp run Linux CPU CI Pipeline,Linux CPU Minimal Build E2E CI Pipeline,Linux GPU CI Pipeline,Linux GPU TensorRT CI Pipeline,Linux OpenVINO CI Pipeline,Linux QNN CI Pipeline,MacOS CI Pipeline,onnxruntime-binary-size-checks-ci-pipeline,Big Models,Linux Android Emulator QNN CI Pipeline

@fs-eire
Copy link
Contributor

fs-eire commented Mar 25, 2025

/azp run Android CI Pipeline,iOS CI Pipeline,ONNX Runtime React Native CI Pipeline,CoreML CI Pipeline,Linux DNNL CI Pipeline,Linux MIGraphX CI Pipeline,Linux ROCm CI Pipeline

Copy link

Azure Pipelines successfully started running 5 pipeline(s).

Copy link

Azure Pipelines successfully started running 4 pipeline(s).

Copy link

Azure Pipelines successfully started running 9 pipeline(s).

@satyajandhyala satyajandhyala added the ep:WebGPU ort-web webgpu provider label Mar 25, 2025
@fs-eire fs-eire merged commit a8673c6 into microsoft:main Mar 26, 2025
97 of 101 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
ep:WebGPU ort-web webgpu provider
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants